package aigle.idm.diagraph.tp4.diagram_default_root.part;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.View;

import aigle.idm.diagraph.tp4.Calculateur;
import aigle.idm.diagraph.tp4.Documentation;
import aigle.idm.diagraph.tp4.Famille;
import aigle.idm.diagraph.tp4.Infrastructure;
import aigle.idm.diagraph.tp4.Interface;
import aigle.idm.diagraph.tp4.Localisation;
import aigle.idm.diagraph.tp4.Nomenclature;
import aigle.idm.diagraph.tp4.Peripherique;
import aigle.idm.diagraph.tp4.Processeur;
import aigle.idm.diagraph.tp4.Tp4Package;
import aigle.idm.diagraph.tp4.VueDocumentation;

/**
 * @generated
 */
public class Tp4DiagramUpdater {

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> getSemanticChildren(
			View view) {
		switch (aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
				.getVisualID(view)) {
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InfrastructureEditPart.VISUAL_ID:
			return getInfrastructure_79SemanticChildren(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurProcesseursEditPart.VISUAL_ID:
			return getCalculateurProcesseurs_5001SemanticChildren(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.VueDocumentationFamillesEditPart.VISUAL_ID:
			return getVueDocumentationFamilles_5002SemanticChildren(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.VueDocumentationNomenclaturesEditPart.VISUAL_ID:
			return getVueDocumentationNomenclatures_5003SemanticChildren(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.FamilleDocusEditPart.VISUAL_ID:
			return getFamilleDocus_5004SemanticChildren(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> getInfrastructure_79SemanticChildren(
			View view) {
		if (!view.isSetElement()) {
			return Collections.emptyList();
		}
		Infrastructure modelElement = (Infrastructure) view.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor>();
		for (Iterator<?> it = modelElement.getCalculateurs().iterator(); it
				.hasNext();) {
			Calculateur childElement = (Calculateur) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator<?> it = modelElement.getPeripheriques().iterator(); it
				.hasNext();) {
			Peripherique childElement = (Peripherique) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.PeripheriqueEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		for (Iterator<?> it = modelElement.getLocalisations().iterator(); it
				.hasNext();) {
			Localisation childElement = (Localisation) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.LocalisationEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		{
			VueDocumentation childElement = modelElement.getDocumentation();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.VueDocumentationEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> getCalculateurProcesseurs_5001SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.emptyList();
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.emptyList();
		}
		Calculateur modelElement = (Calculateur) containerView.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor>();
		for (Iterator<?> it = modelElement.getProcesseurs().iterator(); it
				.hasNext();) {
			Processeur childElement = (Processeur) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.ProcesseurEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> getVueDocumentationFamilles_5002SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.emptyList();
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.emptyList();
		}
		VueDocumentation modelElement = (VueDocumentation) containerView
				.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor>();
		for (Iterator<?> it = modelElement.getFamilles().iterator(); it
				.hasNext();) {
			Famille childElement = (Famille) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.FamilleEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> getVueDocumentationNomenclatures_5003SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.emptyList();
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.emptyList();
		}
		VueDocumentation modelElement = (VueDocumentation) containerView
				.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor>();
		for (Iterator<?> it = modelElement.getNomenclatures().iterator(); it
				.hasNext();) {
			Nomenclature childElement = (Nomenclature) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.NomenclatureEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> getFamilleDocus_5004SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.emptyList();
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.emptyList();
		}
		Famille modelElement = (Famille) containerView.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor>();
		for (Iterator<?> it = modelElement.getDocus().iterator(); it.hasNext();) {
			Documentation childElement = (Documentation) it.next();
			int visualID = aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getNodeVisualID(view, childElement);
			if (visualID == aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.DocumentationEditPart.VISUAL_ID) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4NodeDescriptor(
						childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getContainedLinks(
			View view) {
		switch (aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
				.getVisualID(view)) {
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InfrastructureEditPart.VISUAL_ID:
			return getInfrastructure_79ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurEditPart.VISUAL_ID:
			return getCalculateur_1001ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.PeripheriqueEditPart.VISUAL_ID:
			return getPeripherique_1002ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.LocalisationEditPart.VISUAL_ID:
			return getLocalisation_1003ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.VueDocumentationEditPart.VISUAL_ID:
			return getVueDocumentation_1004ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.ProcesseurEditPart.VISUAL_ID:
			return getProcesseur_2001ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.FamilleEditPart.VISUAL_ID:
			return getFamille_2002ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.DocumentationEditPart.VISUAL_ID:
			return getDocumentation_2003ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.NomenclatureEditPart.VISUAL_ID:
			return getNomenclature_2004ContainedLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID:
			return getInterface_3001ContainedLinks(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getIncomingLinks(
			View view) {
		switch (aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
				.getVisualID(view)) {
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurEditPart.VISUAL_ID:
			return getCalculateur_1001IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.PeripheriqueEditPart.VISUAL_ID:
			return getPeripherique_1002IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.LocalisationEditPart.VISUAL_ID:
			return getLocalisation_1003IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.VueDocumentationEditPart.VISUAL_ID:
			return getVueDocumentation_1004IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.ProcesseurEditPart.VISUAL_ID:
			return getProcesseur_2001IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.FamilleEditPart.VISUAL_ID:
			return getFamille_2002IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.DocumentationEditPart.VISUAL_ID:
			return getDocumentation_2003IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.NomenclatureEditPart.VISUAL_ID:
			return getNomenclature_2004IncomingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID:
			return getInterface_3001IncomingLinks(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getOutgoingLinks(
			View view) {
		switch (aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
				.getVisualID(view)) {
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurEditPart.VISUAL_ID:
			return getCalculateur_1001OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.PeripheriqueEditPart.VISUAL_ID:
			return getPeripherique_1002OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.LocalisationEditPart.VISUAL_ID:
			return getLocalisation_1003OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.VueDocumentationEditPart.VISUAL_ID:
			return getVueDocumentation_1004OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.ProcesseurEditPart.VISUAL_ID:
			return getProcesseur_2001OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.FamilleEditPart.VISUAL_ID:
			return getFamille_2002OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.DocumentationEditPart.VISUAL_ID:
			return getDocumentation_2003OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.NomenclatureEditPart.VISUAL_ID:
			return getNomenclature_2004OutgoingLinks(view);
		case aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID:
			return getInterface_3001OutgoingLinks(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getInfrastructure_79ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getCalculateur_1001ContainedLinks(
			View view) {
		Calculateur modelElement = (Calculateur) view.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		result.addAll(getContainedTypeModelFacetLinks_Interface_3001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Calculateur_Coordonnee_3002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getPeripherique_1002ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getLocalisation_1003ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getVueDocumentation_1004ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getProcesseur_2001ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getFamille_2002ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getDocumentation_2003ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getNomenclature_2004ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getInterface_3001ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getCalculateur_1001IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getPeripherique_1002IncomingLinks(
			View view) {
		Peripherique modelElement = (Peripherique) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		result.addAll(getIncomingTypeModelFacetLinks_Interface_3001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getLocalisation_1003IncomingLinks(
			View view) {
		Localisation modelElement = (Localisation) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_Calculateur_Coordonnee_3002(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getVueDocumentation_1004IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getProcesseur_2001IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getFamille_2002IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getDocumentation_2003IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getNomenclature_2004IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getInterface_3001IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getCalculateur_1001OutgoingLinks(
			View view) {
		Calculateur modelElement = (Calculateur) view.getElement();
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		result.addAll(getOutgoingTypeModelFacetLinks_Interface_3001(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_Calculateur_Coordonnee_3002(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getPeripherique_1002OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getLocalisation_1003OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getVueDocumentation_1004OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getProcesseur_2001OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getFamille_2002OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getDocumentation_2003OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getNomenclature_2004OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getInterface_3001OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	private static Collection<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getContainedTypeModelFacetLinks_Interface_3001(
			Calculateur container) {
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		for (Iterator<?> links = container.getInterfaces().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof Interface) {
				continue;
			}
			Interface link = (Interface) linkObject;
			if (aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID != aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			Peripherique dst = link.get_peripherique();
			Calculateur src = link.getCalculateur();
			result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor(
					src,
					dst,
					link,
					aigle.idm.diagraph.tp4.diagram_default_root.providers.Tp4ElementTypes.Interface_3001,
					aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getIncomingTypeModelFacetLinks_Interface_3001(
			Peripherique target,
			Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		Collection<EStructuralFeature.Setting> settings = crossReferences
				.get(target);
		for (EStructuralFeature.Setting setting : settings) {
			if (setting.getEStructuralFeature() != Tp4Package.eINSTANCE
					.getInterface__peripherique()
					|| false == setting.getEObject() instanceof Interface) {
				continue;
			}
			Interface link = (Interface) setting.getEObject();
			if (aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID != aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			Calculateur src = link.getCalculateur();
			result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor(
					src,
					target,
					link,
					aigle.idm.diagraph.tp4.diagram_default_root.providers.Tp4ElementTypes.Interface_3001,
					aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getIncomingFeatureModelFacetLinks_Calculateur_Coordonnee_3002(
			Localisation target,
			Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		Collection<EStructuralFeature.Setting> settings = crossReferences
				.get(target);
		for (EStructuralFeature.Setting setting : settings) {
			if (setting.getEStructuralFeature() == Tp4Package.eINSTANCE
					.getCalculateur_Coordonnee()) {
				result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor(
						setting.getEObject(),
						target,
						aigle.idm.diagraph.tp4.diagram_default_root.providers.Tp4ElementTypes.CalculateurCoordonnee_3002,
						aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurCoordonneeEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getOutgoingTypeModelFacetLinks_Interface_3001(
			Calculateur source) {
		Calculateur container = null;
		// Find container element for the link.
		// Climb up by containment hierarchy starting from the source
		// and return the first element that is instance of the container class.
		for (EObject element = source; element != null && container == null; element = element
				.eContainer()) {
			if (element instanceof Calculateur) {
				container = (Calculateur) element;
			}
		}
		if (container == null) {
			return Collections.emptyList();
		}
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		for (Iterator<?> links = container.getInterfaces().iterator(); links
				.hasNext();) {
			EObject linkObject = (EObject) links.next();
			if (false == linkObject instanceof Interface) {
				continue;
			}
			Interface link = (Interface) linkObject;
			if (aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID != aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4VisualIDRegistry
					.getLinkWithClassVisualID(link)) {
				continue;
			}
			Peripherique dst = link.get_peripherique();
			Calculateur src = link.getCalculateur();
			if (src != source) {
				continue;
			}
			result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor(
					src,
					dst,
					link,
					aigle.idm.diagraph.tp4.diagram_default_root.providers.Tp4ElementTypes.Interface_3001,
					aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.InterfaceEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> getOutgoingFeatureModelFacetLinks_Calculateur_Coordonnee_3002(
			Calculateur source) {
		LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor> result = new LinkedList<aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor>();
		Localisation destination = source.getCoordonnee();
		if (destination == null) {
			return result;
		}
		result.add(new aigle.idm.diagraph.tp4.diagram_default_root.part.Tp4LinkDescriptor(
				source,
				destination,
				aigle.idm.diagraph.tp4.diagram_default_root.providers.Tp4ElementTypes.CalculateurCoordonnee_3002,
				aigle.idm.diagraph.tp4.diagram_default_root.edit.parts.CalculateurCoordonneeEditPart.VISUAL_ID));
		return result;
	}

}
